// void mainImage( out vec4 fragColor, in vec2 fragCoord )
// {
//     // Normalized pixel coordinates (from 0 to 1)
//     vec2 uv = fragCoord/iResolution.xy;

//     // Time-dependent radial coordinate
//     float r = 0.3 + 0.1*sin(iTime*2.0);

//     // Polar coordinates
//     vec2 p = uv - 0.5;
//     float a = atan(p.x,p.y);
//     float r2 = length(p);

//     // Color
//     vec3 col = vec3(0.0);
//     if( abs(r-r2)<0.01 )
//     {
//         float f = cos(a*6.0-iTime*6.0);
//         col = vec3(0.0,1.0,0.0)*(f*f);
//     }

//     // Output to screen
//     fragColor = vec4(col,1.0);
// }



void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fragCoord/iResolution.xy;
    uv = uv * 2.0 - 1.0; // shift origin to center

    // Time-dependent angle
    float angle = mod(iTime, 2.0 * 3.14159);

    // Polar coordinates
    float r = length(uv);
    float a = atan(uv.y, uv.x);

    // Color
    vec3 col = vec3(0.0);

    // Draw circle
    if(abs(r - 0.5) < 0.01) {
        col = vec3(0.0, 1.0, 0.0);
    }

    // Draw rotating line
    if(abs(a - angle) < 0.05) {
        col = vec3(1.0, 0.0, 0.0);
    }

    // Output to screen
    fragColor = vec4(col,1.0);
}

